﻿Public Class frmCorregimiento
    Public modeForm As Integer
    Public frmParent As frmMCorregimiento

    Private Sub frmCorregimiento_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Select Case Me.modeForm
            Case 1 'Nuevo
                frmParent.tsbNuevo.Enabled = True
            Case 2 'Consultar
                frmParent.tsbConsultar.Enabled = True
            Case 3 'Editar
                frmParent.tsbEditar.Enabled = True
        End Select
    End Sub

    Private Sub frmCorregimiento_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.btnCancelar.Text = "Cancelar"
        Me.btnGuardar.Visible = True
        'Me.cmbDepartamento.SelectedIndex = 0

        Dim dstRecord As New DataSet
        dstRecord.Tables.Add("Departamento")
        mdlCRUD.loadRecord(dstRecord, "Departamento", "departamento", "", "departamento_nombre")

        'Dim dr As DataRow = dstRecord.Tables("Departamento").NewRow()
        'dr("departamento_id") = "-1"
        'dr("departamento_nombre") = "--Seleccione--"

        'dstRecord.Tables("Departamento").Rows.Add(dr)
        'dstRecord.Tables("Departamento").DefaultView.Sort = "departamento_nombre"


        Me.cmbDepartamento.DataSource = dstRecord.Tables("Departamento")
        Me.cmbDepartamento.DisplayMember = dstRecord.Tables("Departamento").Columns(1).Caption.ToString
        Me.cmbDepartamento.ValueMember = dstRecord.Tables("Departamento").Columns(0).Caption.ToString

        Select Case Me.modeForm
            Case 1 'Nuevo
                Me.txtCodigo.Text = ""
                Me.txtDescripcion.Text = ""
                Me.cmbDepartamento.SelectedValue = ""
                Me.cmbCiudad.DataSource = Nothing
                Me.cmbCiudad.Items.Clear()
                Me.cmbCiudad.Refresh()

            Case 2 'Consultar
                Me.txtCodigo.Text = Me.frmParent.arrConsulta(0)
                Me.txtDescripcion.Text = Me.frmParent.arrConsulta(1)
                'Me.txtDescripcion.Text = Me.frmParent.arrConsulta(1)

                If Me.frmParent.arrConsulta(3) <> "" Then
                    Me.cmbDepartamento.SelectedValue = Me.frmParent.arrConsulta(3)
                    'loadListCiudad(Me.frmParent.arrConsulta(3))
                Else
                    Me.cmbDepartamento.SelectedValue = ""
                End If

                If Me.frmParent.arrConsulta(2) <> "" Then
                    Me.cmbCiudad.SelectedValue = Me.frmParent.arrConsulta(2)
                Else
                    If Me.frmParent.arrConsulta(2) <> "" Then
                        Me.cmbCiudad.SelectedValue = ""
                    Else
                        Me.cmbCiudad.DataSource = Nothing
                        Me.cmbCiudad.Items.Clear()
                        Me.cmbCiudad.Refresh()
                    End If
                End If

                Me.btnCancelar.Text = "Continuar"
                Me.btnGuardar.Visible = False

            Case 3 'Editar
                Dim strId As String = Me.frmParent.dgvCorregimiento.Rows(Me.frmParent.dgvCorregimiento.CurrentRow.Index).Cells(0).Value.ToString

                dstRecord.Tables.Add("Corregimiento")
                mdlCRUD.loadRecord(dstRecord, "Corregimiento", "vistacorregimiento", "corregimiento_id = '" & strId & "'", "")

                Dim arrRow As Array
                arrRow = dstRecord.Tables("Corregimiento").Rows(0).ItemArray.ToArray
                'loadListCiudad(arrRow(2).ToString)

                Me.lblEdCodigo.Text = arrRow(0).ToString
                Me.txtCodigo.Text = arrRow(0).ToString
                Me.txtDescripcion.Text = arrRow(1).ToString

                If arrRow(4).ToString <> "" Then
                    Me.cmbDepartamento.SelectedValue = arrRow(4).ToString
                End If

                If arrRow(2).ToString <> "" Then
                    Me.cmbCiudad.SelectedValue = arrRow(2).ToString
                End If
        End Select
    End Sub

    Private Sub loadListCiudad(ByVal intDepto As Integer)
        Dim dstRecord As New DataSet
        dstRecord.Tables.Add("Ciudad")
        mdlCRUD.loadRecord(dstRecord, "Ciudad", "ciudad", "departamento_id = '" & intDepto & "'", "ciudad_nombre")

        Me.cmbCiudad.DataSource = dstRecord.Tables("Ciudad")
        Me.cmbCiudad.DisplayMember = dstRecord.Tables("Ciudad").Columns(1).Caption.ToString
        Me.cmbCiudad.ValueMember = dstRecord.Tables("Ciudad").Columns(0).Caption.ToString
    End Sub

    Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        Select Case Me.modeForm
            Case 1 'Nuevo
                Dim arrCampos() As String = {"corregimiento_id", "corregimiento_nombre", "ciudad_id"}
                Dim arrValor() As String = {Trim(Me.txtCodigo.Text), Trim(Me.txtDescripcion.Text), Trim(Me.cmbCiudad.SelectedValue.ToString)}

                mdlCRUD.insRecord("corregimiento", arrCampos, arrValor)

            Case 2 'Consultar

            Case 3 'Editar
                Dim arrParametro() As String = {"corregimiento_id = " & IIf(Trim(Me.txtCodigo.Text) <> "", "'" & Me.txtCodigo.Text & "'", "null"),
                                         "corregimiento_nombre = " & IIf(Trim(Me.txtDescripcion.Text) <> "", "'" & Me.txtDescripcion.Text & "'", "null"),
                                         "ciudad_id = " & IIf(Trim(Me.cmbCiudad.SelectedValue.ToString) <> "", "'" & Me.cmbCiudad.SelectedValue.ToString & "'", "null")}
                Dim strCondicion As String = "corregimiento_id = " & IIf(Me.lblEdCodigo.Text <> "", "'" & Me.lblEdCodigo.Text & "'", "null")

                mdlCRUD.updRecord("corregimiento", arrParametro, strCondicion)
        End Select

        If (mdlCRUD.blnFlag = True) Then
            Me.frmParent.refreshList()
            Me.Close()
        End If
    End Sub

    Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        Select Case Me.modeForm
            Case 1 'Nuevo

            Case 2 'Consultar
                Me.frmParent.arrConsulta(0) = Trim(Me.txtCodigo.Text)
                Me.frmParent.arrConsulta(1) = Trim(Me.txtDescripcion.Text)
                If Me.cmbDepartamento.SelectedIndex <> -1 Then
                    Me.frmParent.arrConsulta(3) = Trim(Me.cmbDepartamento.SelectedValue.ToString)
                End If

                If Me.cmbCiudad.SelectedIndex <> -1 Then
                    Me.frmParent.arrConsulta(2) = Trim(Me.cmbCiudad.SelectedValue.ToString)
                End If

                Me.frmParent.refreshList()

            Case 3 'Editar

        End Select


        Me.Close()
    End Sub

    Private Sub cmbDepartamento_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbDepartamento.SelectedIndexChanged
        If Me.cmbDepartamento.SelectedIndex > 0 Then
            Dim dstRecord As New DataSet
            Dim strDepartamento As String = Trim(Me.cmbDepartamento.SelectedValue.ToString)

            dstRecord.Tables.Add("Ciudad")
            mdlCRUD.loadRecord(dstRecord, "Ciudad", "ciudad", "departamento_id = '" & strDepartamento & "'", "ciudad_nombre")
            Me.cmbCiudad.DataSource = dstRecord.Tables("Ciudad")
            Me.cmbCiudad.DisplayMember = dstRecord.Tables("Ciudad").Columns(2).Caption.ToString
            Me.cmbCiudad.ValueMember = dstRecord.Tables("Ciudad").Columns(0).Caption.ToString
        End If
    End Sub
End Class